package com.kinghood.productcenter.dao.product;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.kinghood.productcenter.common.model.dao.product.ProductAttributeDO;
import com.kinghood.productcenter.common.model.dto.product.AttributeByProductIdDTO;
import com.kinghood.productcenter.common.model.vo.product.ProductAttributeListVO;
import feign.Param;

import java.util.List;

/**
 * <p>
 * Mapper 接口
 * </p>
 *
 * @author KingHood
 * @since 2023-12-20
 */
public interface ProductAttributeMapper extends BaseMapper<ProductAttributeDO> {
    /**
     * 通过code和商品id获取属性
     *
     * @param showAttributeList 显示属性列表
     * @param productList       产品列表
     * @author jp
     * @date 2023/12/26
     */
    List<ProductAttributeListVO> getAllAttributeByCode(@Param("showAttributeList") List<String> showAttributeList,
                                                       @Param("productList")  List<Long> productList);

    /**
     * 根据商品id获取属性
     *
     * @param id 商品id
     * @return 商品属性
     * @author zfj
     * @date 2024/1/11
     */
    List<AttributeByProductIdDTO> getAttributeByProductId(@Param("id") Long id);

    /**
     * 通过代码获取sku属性
     *
     * @param showAttributeList 显示属性列表
     * @param skuList       产品列表
     * @return @return {@link List }<{@link ProductAttributeListVO }>
     * @author jp
     * @date 2024/01/23 14:51
     */
    List<ProductAttributeListVO> getSkuAttributeByCode(@Param("showAttributeList") List<String> showAttributeList,
                                                       @Param("skuList")  List<Long> skuList);
}
